﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using imaginecup.information;

using Microsoft.Xna.Framework;
using imaginecup.objectManager;

namespace imaginecup.util
{
    public interface IComponent
    {
        void Init();
        void Release();

        GObjectID GetObjectID();
        ObjectManager GetObjectManger();

        void SetObjectID(GObjectID a_GID);

        ICmpEntity GetEntity();

        void SetCmpEnable(bool enableBool);
        bool GetCmpEnable();

        SComponentTypeID GetComponentTypeID();
        EMessageResult HandleMessage(objectManager.GMessage a_Msg);

    }
}
